package cn.cscb.mms.server.mapper;

import cn.cscb.mms.pojo.entity.*;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.Map;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.HashMap;
import java.util.List;

public interface TaskInfoMapper extends BaseMapper<TaskInfo> {
    IPage<TaskInfoVO> selectTaskList(IPage page, @Param("startTime") LocalDate startTime,  @Param("endTime") LocalDate endTime, @Param("taskInfoParam") Map taskInfoParam);

    TaskInfo selectByMarktNo(@Param("markNo") String markNo);

    List<MarkType> getMarkType();

    List<MarkStatus> getMarkStatus();

    void deleteMark(@Param("id") Integer id);

    List<Map> getORG();

    List<Map> getAccountManager(@Param("org") String org);

    IPage<HashMap<String,Object>> findAllMyMarketByPage(IPage page, @Param("param") HashMap<String, Object> paramMap);

    String getEmpNoByName(@Param("name") String name);
    List<TaskInfo> selectAllTask();

    String getEmpNameByNo(@Param("empNo") String empNo);

    String getCUSNameByNo(@Param("cusNo") String cusNo);

    String getMarkTypeByNo(@Param("typeNo") String typeNo);

    String getMarkStatusByNo(@Param("statusNo") String statusNo);
    String getMarkTypeNoByTypeName(@Param("typeName") String typeName);

    String getMarkStatusNoByStatusName(@Param("statusName") String statusNanme);

    List<Map> getCus();
    String getEmpDuty(@Param("loginNo") String loginNo);

    Employee getEmpByIdAndName(@Param("empNo") String empNo, @Param("empName") String empName, @Param("dutyNo") String dutyNo);

    Boolean distribution(@Param("markNo") String markNo, @Param("disp") String disp, @Param("claimId") String claimId);
    Boolean claim(@Param("markNo") String markNo, @Param("claimId") String claimId);

    String getEmpIDByName(@Param("name") String name);

    Map getMarkFinishedBetweenDate(@Param("start_date") String startDate, @Param("end_date") String endDate);

    Map getDepositBetweenDate(@Param("start_date") String startDate, @Param("end_date") String endDate);

    Map getLoanBetweenDate(@Param("start_date") String startDate, @Param("end_date") String endDate);


}
